Creating Backlink from RQM to DOORS using DXL

Hi,

Currently when module is copied, in the copied module we see that "validatedBy" are showing the details of RQM test cases but in RQM the copied object details are not shown.

i.e backlinks are missing in RQM test cases.

I have tried a dxl script which automates this process of copying objects from one module to another with links (in links, out links and OSLC links), The script works fine but the even in these case back links are missing in RQM test case.

We followed the following steps for creating links from RTC to DOORS:

    1. Perfomed get on the RTC URL and got the OSLC response.

    2. Modified body of the response with Links details

   3. with this modified body, performed put on the same url.

The above mentioned steps are working for RTC but for RQM it is not working. I am getting OSLC response successfully using get for RQM url. I tried performing PUT on the same URL with same response body, but still  i am getting http 400 as response code with following error. I didnt add if match header.

<?xml version="1.0" encoding="UTF-8" standalone="yes"?><ns2:Error xmlns:ns20="http://jazz.net/xmlns/alm/qm/styleinfo/v0.1/" xmlns:ns21="http://www.w3.org/1999/XSL/Transform" xmlns:ns10="http://jazz.net/xmlns/alm/qm/qmadapter/task/v0.1" xmlns:ns11="http://jazz.net/xmlns/alm/qm/qmadapter/v0.1" xmlns:ns12="http://jazz.net/xmlns/alm/qm/v0.1/executionworkitem/v0.1" xmlns:ns13="http://open-services.net/ns/core#" xmlns:ns14="http://open-services.net/ns/qm#" xmlns:ns15="http://jazz.net/xmlns/prod/jazz/rqm/process/1.0/" xmlns:ns16="http://www.w3.org/2002/07/owl#" xmlns:ns17="http://jazz.net/xmlns/alm/qm/v0.1/executionresult/v0.1" xmlns:ns18="http://jazz.net/xmlns/alm/qm/v0.1/catalog/v0.1" xmlns:ns1="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:ns2="http://jazz.net/xmlns/alm/qm/v0.1/" xmlns:ns3="http://schema.ibm.com/vega/2008/" xmlns:ns4="http://purl.org/dc/elements/1.1/" xmlns:ns5="http://jazz.net/xmlns/prod/jazz/process/0.6/" xmlns:ns6="http://jazz.net/xmlns/alm/v0.1/" xmlns:ns7="http://purl.org/dc/terms/" xmlns:ns8="http://jazz.net/xmlns/alm/qm/v0.1/tsl/v0.1/" xmlns:ns9="http://jazz.net/xmlns/alm/qm/v0.1/testscript/v0.1/"><ns2:statusCode>400</ns2:statusCode><ns2:message>The uploaded content does not consist of well-formed XML or does not match the XML schema for testcase</ns2:message><ns2:trace>javax.xml.bind.UnmarshalException
 - with linked exception:
[org.xml.sax.SAXParseException: Content is not allowed in prolog.]
   

 

Please let me know if there is any way of creating back links in RQM testcases using dxl.

For reference we have got Reconcile QM backlinks dxl script which does mechanism of creating backlinks in RQM but this code is encrypted and can not use any function defined in it.


sindhunallasamy - Mon Jul 11 06:17:23 EDT 2016

Re: Creating Backlink from RQM to DOORS using DXL
Rolan - Tue Jul 12 12:53:33 EDT 2016

Sounds like what you are trying is what I do to create the backlinks.  You do need to set the if-match in the header with the ETag value from the response when you put the modified body text back.   You also want to make sure you use the getResourceURL function to obtain the DOORS object URL for the links.  But the error you are seeing might indicate a problem the formatting of your modifications to the body text to add the links.

Re: Creating Backlink from RQM to DOORS using DXL
sindhunallasamy - Fri Jul 15 07:34:22 EDT 2016

@Rolan 979f4678-2c11-4d21-b634-b7f3e1a9b548​


Thanks for sharing the details

 

I tried adding if match header like this in my header

add(header,"If-Match","_3TZU50dQEea1m63qAVdzvw\")

 

But still I am getting same error.

Also i tried to send the same response without modifying the body of the response what we got using GET, through PUT method. So i think there wont be any problem in formatting of the body text.

 

Same thing is working for RTC to DOORS. But not for RQM to DOORS

 

Could you please help us in solving the problem

 

 

Re: Creating Backlink from RQM to DOORS using DXL
Rolan - Mon Jul 18 11:56:31 EDT 2016

sindhunallasamy - Fri Jul 15 07:34:22 EDT 2016

@Rolan 979f4678-2c11-4d21-b634-b7f3e1a9b548​


Thanks for sharing the details

 

I tried adding if match header like this in my header

add(header,"If-Match","_3TZU50dQEea1m63qAVdzvw\")

 

But still I am getting same error.

Also i tried to send the same response without modifying the body of the response what we got using GET, through PUT method. So i think there wont be any problem in formatting of the body text.

 

Same thing is working for RTC to DOORS. But not for RQM to DOORS

 

Could you please help us in solving the problem

 

 

I also set these in the header for both the get and the put operations:

 

add(h, "Accept", "application/rdf+xml")
add(h, "OSLC-Core-Version", "2.0")
add(h, "Content-Type", "application/rdf+xml")

Re: Creating Backlink from RQM to DOORS using DXL
sindhunallasamy - Wed Jul 20 07:48:27 EDT 2016

Rolan - Mon Jul 18 11:56:31 EDT 2016

I also set these in the header for both the get and the put operations:

 

add(h, "Accept", "application/rdf+xml")
add(h, "OSLC-Core-Version", "2.0")
add(h, "Content-Type", "application/rdf+xml")

@@Rolan 979f4678-2c11-4d21-b634-b7f3e1a9b548

Thanks for the update

 

Actually i am able to update the RQM test case name by sending the modified response we got using GET. Similarly i tried to update the requirement links section by passing validated By link details as below

 

<ns2:requirement
isSuspected=\"false\" summary=\"zzzz (6556)\" rel=\"validates\"
href=\"https://rb-alm-03-q-dwa.de.bosch.com:8443/dwa/rm/urn:rational::1-5446854259604d31-O-6556-0000e1ff\"/>

 

 

I am getting response as 200 but not updated in RQM

Re: Creating Backlink from RQM to DOORS using DXL
Rolan - Wed Jul 20 11:55:10 EDT 2016

sindhunallasamy - Wed Jul 20 07:48:27 EDT 2016

@@Rolan 979f4678-2c11-4d21-b634-b7f3e1a9b548

Thanks for the update

 

Actually i am able to update the RQM test case name by sending the modified response we got using GET. Similarly i tried to update the requirement links section by passing validated By link details as below

 

<ns2:requirement
isSuspected=\"false\" summary=\"zzzz (6556)\" rel=\"validates\"
href=\"https://rb-alm-03-q-dwa.de.bosch.com:8443/dwa/rm/urn:rational::1-5446854259604d31-O-6556-0000e1ff\"/>

 

 

I am getting response as 200 but not updated in RQM

I'm wondering if you are doing the Get on the correct URL.  The response should contain elements that look like this:

<oslc_qm:validatesRequirement rdf:ID="n3" rdf:resource="https://xxx.com:8470/dwa/rm/urn:rational::1-0000000000000000-O-15796-00015fdb"/>

You add new oslc_qm:validatesRequirement elements in the proper place in the document to create new back links in RQM.

The URL in the body of the DOORS external link should look something like this for a test case:

https://xxx.com/qm/oslc_qm/contexts/_DdLIX2aXEeSO2NF4d4A62w/resources/com.ibm.rqm.planning.VersionedTestCase/_rhbyiMcuEeSmUoRNvmTbcA

and like this for a test script step:

https://xxx.com/qm/oslc_qm/contexts/_DdLIX2aXEeSO2NF4d4A62w/resources/com.ibm.rqm.planning.ExecutionElement2/_NwGQQhqqEeWS-I2GqQC4ig

These are what you need to use for both the Get and Put.

Re: Creating Backlink from RQM to DOORS using DXL
sindhunallasamy - Thu Jul 21 07:51:39 EDT 2016

Rolan - Wed Jul 20 11:55:10 EDT 2016

I'm wondering if you are doing the Get on the correct URL.  The response should contain elements that look like this:

<oslc_qm:validatesRequirement rdf:ID="n3" rdf:resource="https://xxx.com:8470/dwa/rm/urn:rational::1-0000000000000000-O-15796-00015fdb"/>

You add new oslc_qm:validatesRequirement elements in the proper place in the document to create new back links in RQM.

The URL in the body of the DOORS external link should look something like this for a test case:

https://xxx.com/qm/oslc_qm/contexts/_DdLIX2aXEeSO2NF4d4A62w/resources/com.ibm.rqm.planning.VersionedTestCase/_rhbyiMcuEeSmUoRNvmTbcA

and like this for a test script step:

https://xxx.com/qm/oslc_qm/contexts/_DdLIX2aXEeSO2NF4d4A62w/resources/com.ibm.rqm.planning.ExecutionElement2/_NwGQQhqqEeWS-I2GqQC4ig

These are what you need to use for both the Get and Put.

@Rolan

 

I am also using  same url for test case  as you mentioned to perform get and post as like this

https://xxx.com/qm/oslc_qm/contexts/_Ox3pINSgEeWaUfHrMDIHzQ/resources/com.ibm.rqm.planning.VersionedTestCase/_YIN3AdSsEeWaUfHrMDIHzQ

 

I am able to update title, description. But i am not able to add link details.

I tried adding the following details  in OSLC response content

<oslc_qm:validatesRequirement rdf:resource="https://xxx.com:8443/dwa/rm/urn:rational::1-5446854259604d31-O-6550-0000e1ff"/>

<rdf:subject
rdf:resource=\"https://xxx.com/qm/oslc_qm/contexts/_Ox3pINSgEeWaUfHrMDIHzQ/resources/com.ibm.rqm.planning.VersionedTestCase/_YIN3
AdSsEeWaUfHrMDIHzQ\"/>  <rdf:predicate rdf:resource=\"http://open-services.net/ns/qm#validatesRequirement\"/>  <rdf:object
rdf:resource=\"https://xxx.com:8443/dwa/rm/urn:rational::1-5446854259604d31-O-6550-0000e1ff\"/>  <rdf:type
rdf:resource=\"http://www.w3.org/1999/02/22-rdf-syntax-ns#Statement\"/>  <dcterms:title>zzzz (6550)</dcterms:title> </rdf:Description>

 

I am getting response as 200 but link is not added.

Could you please guide me in creating link from RQM to DOORS

 

 

Re: Creating Backlink from RQM to DOORS using DXL
Rolan - Thu Jul 21 12:11:29 EDT 2016

sindhunallasamy - Thu Jul 21 07:51:39 EDT 2016

@Rolan

 

I am also using  same url for test case  as you mentioned to perform get and post as like this

https://xxx.com/qm/oslc_qm/contexts/_Ox3pINSgEeWaUfHrMDIHzQ/resources/com.ibm.rqm.planning.VersionedTestCase/_YIN3AdSsEeWaUfHrMDIHzQ

 

I am able to update title, description. But i am not able to add link details.

I tried adding the following details  in OSLC response content

<oslc_qm:validatesRequirement rdf:resource="https://xxx.com:8443/dwa/rm/urn:rational::1-5446854259604d31-O-6550-0000e1ff"/>

<rdf:subject
rdf:resource=\"https://xxx.com/qm/oslc_qm/contexts/_Ox3pINSgEeWaUfHrMDIHzQ/resources/com.ibm.rqm.planning.VersionedTestCase/_YIN3
AdSsEeWaUfHrMDIHzQ\"/>  <rdf:predicate rdf:resource=\"http://open-services.net/ns/qm#validatesRequirement\"/>  <rdf:object
rdf:resource=\"https://xxx.com:8443/dwa/rm/urn:rational::1-5446854259604d31-O-6550-0000e1ff\"/>  <rdf:type
rdf:resource=\"http://www.w3.org/1999/02/22-rdf-syntax-ns#Statement\"/>  <dcterms:title>zzzz (6550)</dcterms:title> </rdf:Description>

 

I am getting response as 200 but link is not added.

Could you please guide me in creating link from RQM to DOORS

 

 

Check to be sure that the added requirement element is placed between <oslc_qm:TestCase ...> and  </oslc_qm:TestCase> elements in the body.